Search engine technology has become quite popular to help users seek information available on the Web. Most users have been trained to become accustomed to the traditional search interface where a user submits a query to an input textbox and a search engine returns a group of Web pages organized in a list view. Given the list view, the user typically needs to navigate through the returned list of Web pages to find desired information.
The aforementioned conventional search experience has two major drawbacks. First, it is not easy for Web users to specify their search intentions by term combination. Sometimes a user can not generate a query correctly even though the user is clear about what to search. Also, even if a user is an expert in formulating search queries; the user may refuse to submit complex queries because most search engine users are lazy. The length of most search queries falls in the range of 1.66 words. Moreover, the short queries often lead to a huge amount of search results since the system is difficult to grasp the user's true intention. Hence, the user has to refine the queries by adding, deleting or modifying query terms many times until they get the information they need. The second drawback of conventional search engine design lies in the presentation of search results. The typical solution is to organize search results into a long list, where the list is divided into many result pages. Although various search algorithms have been applied to rank Web pages by their relevance scores, it is quite often that the desired page is not ranked top in the result list. Thus it can be quite time consuming for a user to navigate through the search results one by one, and page by page. Indeed, a study shows that 62% of search engine users only click on the results contained in the first page. Thus, a better user interface is desired to search and/or to present search results.